/*
 * VHBaseDataServiceAsny.java
 * Created on 7 juin 2009
 *
 * VirtualHockey Internet Platform
 * http://code.google.com/p/virtualhockey/
 *
 * Copyright (c) 2005-2009, Jens and Jan Janke (VirtualHockey Project)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see http://www.gnu.org/licenses/.
 */

package com.hockeo.vhweb.client.rpc;

import java.util.List;
import java.util.Map;

import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.hockeo.vhweb.client.utils.VHJsData;
import com.hockeo.vhweb.client.utils.enums.VHJsClubContestHistoryType;
import com.hockeo.vhweb.client.utils.enums.VHJsStandingsType;

/**
 * Async interface for {@link VHBaseDataService}.
 *
 * @version $Id$
 * @author jjanke
 */
public interface VHBaseDataServiceAsync
{
  public void getClubContestHistoryRecords( String strLocale, String strContestId, Integer nSeasonId,
      AsyncCallback<List<VHJsData>> callback );

  public void getClubContestHistoryRecords( String strLocale, String strClubId, VHJsClubContestHistoryType type,
      AsyncCallback<List<VHJsData>> callback );

  public void getClubSeasonSummaries( String strLocale, String strClubId, AsyncCallback<List<VHJsData>> callback );

  public void getClub( String strLocale, String strClubId, AsyncCallback<VHJsData> callback );

  public void getNationalAssociation( String strLocale, String strAssocId, AsyncCallback<VHJsData> callback );

  public void getClubsForLeague( String strLocale, String strLeagueId, AsyncCallback<List<VHJsData>> callback );

  public void getContestHistoryRecords( String strLocale, String strContestId, AsyncCallback<List<VHJsData>> callback );

  public void getAllMajorContestHistoryRecords( String strLocale, Integer nSeasonId,
      AsyncCallback<List<VHJsData>> callback );

  public void getContestElements( String strLocale, String strRoundId, AsyncCallback<List<VHJsData>> callback );

  public void getContestRounds( String strLocale, String strContestId, AsyncCallback<List<VHJsData>> callback );

  public void getCountries( String strLocale, AsyncCallback<List<VHJsData>> callback );

  public void getCountrySeasonOverviewRecords( String strLocale, String strAssocId, Integer nSeasonId,
      AsyncCallback<List<VHJsData>> callback );

  public void getCurrentClubSituation( String strLocale, String strClubId, AsyncCallback<Map<String, VHJsData>> callback );

  public void getEternalStandings( PagingLoadConfig cfg, String strLocale, String strElementId,
      AsyncCallback<PagingLoadResult<VHJsData>> callback );

  public void getECRStandings( PagingLoadConfig cfg, String strLocale, Integer nSeasonId, String strAssocId,
      AsyncCallback<PagingLoadResult<VHJsData>> callback );

  public void getENRStandings( String strLocale, Integer nSeasonId, AsyncCallback<List<VHJsData>> callback );

  public void getHistoricStandings( String strLocale, String strElementId, Integer nSeasonId,
      VHJsStandingsType standingsType, AsyncCallback<List<VHJsData>> callback );

  public void getInternationalContests( String strLocale, AsyncCallback<List<VHJsData>> callback );

  public void getLeagues( String strLocale, String strAssocId, AsyncCallback<List<VHJsData>> callback );

  public void getKOMatches( String strLocale, String strContestId, String strRoundId,
      AsyncCallback<List<VHJsData>> callback );

  public void getMatchdays( String locale, String strElementId, AsyncCallback<List<VHJsData>> callback );

  public void getMatchesForClub( String strLocale, String strClubId, AsyncCallback<List<VHJsData>> callback );

  public void getMatches( String locale, String strElementId, AsyncCallback<List<VHJsData>> callback );

  public void getMatches( String locale, String strElementId, Integer nMatchday, AsyncCallback<List<VHJsData>> callback );

  public void getSeasonsForClubHistory( String strLocale, String strContestId, AsyncCallback<List<VHJsData>> callback );

  public void getSeasonsForIntRankings( String strLocale, AsyncCallback<List<VHJsData>> callback );

  public void getStandings( String strLocale, String strElementId, VHJsStandingsType standingsType, Integer nMatchday,
      AsyncCallback<List<VHJsData>> callback );
}
